package com.yqy.spring.T1.beans;

import java.net.URI;
import java.net.URL;
import java.time.LocalDate;
import java.util.Date;

/**
 * 此类用于测试全部简单类型的注入
 */
public class SimpleTypeInjection {
    /**
     *  基本类型
     */
    private byte byteType;
    private short shortType;
    private int intType;
    private long longType;
    private float floatType;
    private double doubleType;
    private char charType;
    private boolean booleanType;
    /**
     * 包装类
     */
    private Byte BytePackaging;
    private Short ShortPackaging;
    private Integer IntegerPackaging;
    private Long LongPackaging;
    private Float FloatPackaging;
    private Double DoublePackaging;
    private Boolean BooleanPackaging;
    private Character CharacterPackaging;

    private String str;

    private Date date;

    private Season season;

    private URI uri;

    private URL url;

    private LocalDate localDate;

    private Class clazz;

    enum Season{
        SPRING, SUMMER, AUTUMN,WINTER
    }

    public void setByteType(byte byteType) {
        this.byteType = byteType;
    }

    public void setShortType(short shortType) {
        this.shortType = shortType;
    }

    public void setIntType(int intType) {
        this.intType = intType;
    }

    public void setLongType(long longType) {
        this.longType = longType;
    }

    public void setFloatType(float floatType) {
        this.floatType = floatType;
    }

    public void setDoubleType(double doubleType) {
        this.doubleType = doubleType;
    }

    public void setCharType(char charType) {
        this.charType = charType;
    }

    public void setBooleanType(boolean booleanType) {
        this.booleanType = booleanType;
    }

    public void setBytePackaging(Byte bytePackaging) {
        BytePackaging = bytePackaging;
    }

    public void setShortPackaging(Short shortPackaging) {
        ShortPackaging = shortPackaging;
    }

    public void setIntegerPackaging(Integer integerPackaging) {
        IntegerPackaging = integerPackaging;
    }

    public void setLongPackaging(Long longPackaging) {
        LongPackaging = longPackaging;
    }

    public void setFloatPackaging(Float floatPackaging) {
        FloatPackaging = floatPackaging;
    }

    public void setDoublePackaging(Double doublePackaging) {
        DoublePackaging = doublePackaging;
    }

    public void setBooleanPackaging(Boolean booleanPackaging) {
        BooleanPackaging = booleanPackaging;
    }

    public void setCharacterPackaging(Character characterPackaging) {
        CharacterPackaging = characterPackaging;
    }

    public void setStr(String str) {
        this.str = str;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public void setSeason(Season season) {
        this.season = season;
    }

    public void setUri(URI uri) {
        this.uri = uri;
    }

    public void setUrl(URL url) {
        this.url = url;
    }

    public void setLocalDate(LocalDate localDate) {
        this.localDate = localDate;
    }

    @Override
    public String toString() {
        return "SimpleTypeInjection{" +
                "byteType=" + byteType +
                ", shortType=" + shortType +
                ", intType=" + intType +
                ", longType=" + longType +
                ", floatType=" + floatType +
                ", doubleType=" + doubleType +
                ", charType=" + charType +
                ", booleanType=" + booleanType +
                ", BytePackaging=" + BytePackaging +
                ", ShortPackaging=" + ShortPackaging +
                ", IntegerPackaging=" + IntegerPackaging +
                ", LongPackaging=" + LongPackaging +
                ", FloatPackaging=" + FloatPackaging +
                ", DoublePackaging=" + DoublePackaging +
                ", BooleanPackaging=" + BooleanPackaging +
                ", CharacterPackaging=" + CharacterPackaging +
                ", str='" + str + '\'' +
                ", date=" + date +
                ", season=" + season +
                ", uri=" + uri +
                ", url=" + url +
                ", localDate=" + localDate +
                ", clazz=" + clazz +
                '}';
    }

    public void setClazz(Class clazz) {
        this.clazz = clazz;
    }
}
